package tt.dz.service.middleware;

import java.util.List;
import java.util.Map;

import tt.dz.entity.base.JsonCommon;
import tt.dz.entity.exception.BizException;
import tt.dz.tcp.socket.exception.CreateConnectionFailException;
import tt.dz.tcp.socket.exception.RetryFailException;

public interface SetService {
	public JsonCommon<String> findHardwareServerIp(Map<String,String> map);

	public JsonCommon<Map<String, String>> findHardwareServerIpReturn(Map<String, String> map);

	public JsonCommon<String> setHardwareServerIp(Map<String, String> map);

	public JsonCommon<Map<String, String>> setHardwareServerIpReturn(Map<String, String> map);
	
	JsonCommon<String> setTimeReturn(Map<String, String> map);
	JsonCommon<String> findRateReturn(Map<String, String> map);
	JsonCommon<String> setRateReturn(Map<String, String> map);
	JsonCommon<String> setQrCodeReturn(Map<String, String> map);
	JsonCommon<String> setWhiteListReturn(Map<String, String> map);
	JsonCommon<String> findWhiteListReturn(Map<String, String> map);
	JsonCommon<String> setParamReturn(Map<String, String> map);

	JsonCommon<String> findRate(Map<String, String> map);

	void sendFee(String chargerId) throws BizException, RetryFailException, CreateConnectionFailException;

	JsonCommon<String> summon(Map<String, String> map);
//	Map<String,String> findRateReturn( Map<String, String> map);
//	Map<String,String> setRateReturn( Map<String, String> map);
//	Map<String,String> setQrCodeReturn( Map<String, String> map);
//	Map<String,String> findWhiteListReturn( Map<String, String> map);
//	Map<String,String> setWhiteListReturn( Map<String, String> map);
//	Map<String,String> setParamReturn( Map<String, String> map);

	JsonCommon<String> setQrCode(Map<String, String> map) throws RetryFailException, CreateConnectionFailException, BizException;

	JsonCommon<String> findWhiteList(Map<String, String> map);

	void setWhiteList(String chargerId, List<String> list_userCard, int oper) throws BizException, RetryFailException, CreateConnectionFailException;

	JsonCommon<String> setParam(Map<String, String> map);

	JsonCommon<String> ev3c2setHardwareServerIpReturn(Map<String, String> map);

	JsonCommon<String> setTimer(String chargerId, String timer);

	void setIdentification(String chargerId) throws BizException, RetryFailException, CreateConnectionFailException;

	JsonCommon<String> findChargerStatus(String chargerId, String portNo);

	JsonCommon<String> findUserCardOnCharger(String chargerId);

	JsonCommon<String> findIdentification(String chargerId);

	void setState(String chargerId, String state) throws BizException, RetryFailException, CreateConnectionFailException;

}
